﻿#region licence
//  Copyright 2008 Michael Cromwell

//   Licensed under the Apache License, Version 2.0 (the "License");
//   you may not use this file except in compliance with the License.
//   You may obtain a copy of the License at

//       http://www.apache.org/licenses/LICENSE-2.0

//   Unless required by applicable law or agreed to in writing, software
//   distributed under the License is distributed on an "AS IS" BASIS,
//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//   See the License for the specific language governing permissions and
//   limitations under the License.
#endregion

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.RuntimeSuite.Addin.Core;
using NUnit.Core;
using NUnit.Framework;
using Rhino.DSL;
using System.Reflection;
using System.Configuration;

namespace log4net.altconf.Tests
{
    
    public class DslScriptTesting : IRuntimeTestFixtureFactory
    {
        private DslFactory dslFactory;
        public DslScriptTesting()
        {
            dslFactory = new DslFactory();
            dslFactory.BaseDirectory = ConfigurationManager.AppSettings["script-base-directory"];
            dslFactory.Register<Log4NetDslConfigurationTest>(new Log4NetDslConfigurationTestEngine());
        }

        public TestFixture CreateTestFixture()
        {
            var rootTestFixture = new TestFixture(this.GetType());
            var fixtures = dslFactory.CreateAll<Log4NetDslConfigurationTest>("testing/asserts");
            foreach (var fixture in fixtures)
                rootTestFixture.Add(new DslTestFixture(fixture.GetType()));

            return rootTestFixture;
        }
                
    }
}
